#ifndef TRACKVIEW_H
#define TRACKVIEW_H
#include "Troll3D_global.h"
#include <vec4.h>
#include <Matrix.h>
#include <Entity.h>
#include <View.h>

/*! @brief The TrackView class is used to lock the camera around a point in space   */
class TROLL3DSHARED_EXPORT TrackView : public View
{
    public :

    /********************************/
    /*          Members             */
    /********************************/

        /********************************/
        /*          Properties          */
        /********************************/

            vec4*       m_Center;       /*!< Point the TrackView is looking at  */
            float       m_Radius;       /*!< Radius between the Camera and the center   */

        /********************************/
        /*          Methods             */
        /********************************/

            void RotateView(int x, int y);
            void Zoom(float zoomValue);

        /********************************/
        /*      Virtual Methods         */
        /********************************/

            void Display();
            void Update();


    /********************************/
    /*          Constructor         */
    /********************************/

            TrackView();
};

#endif
